home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / hayesesp.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  3KB  |  124 lines

  1. #ifndef HAYESESP_H
  2. #define HAYESESP_H
  3.  
  4. struct hayes_esp_config {
  5.     short flow_on;
  6.     short flow_off;
  7.     short rx_trigger;
  8.     short tx_trigger;
  9.     short pio_threshold;
  10.     unsigned char rx_timeout;
  11.     char dma_channel;
  12. };
  13.  
  14. #ifdef __KERNEL__
  15.  
  16. #define ESP_DMA_CHANNEL   0
  17. #define ESP_RX_TRIGGER    768
  18. #define ESP_TX_TRIGGER    768
  19. #define ESP_FLOW_OFF      1016
  20. #define ESP_FLOW_ON       944
  21. #define ESP_RX_TMOUT      128
  22. #define ESP_PIO_THRESHOLD 32
  23.  
  24. #define ESP_IN_MAJOR    57    /* major dev # for dial in */
  25. #define ESP_OUT_MAJOR    58    /* major dev # for dial out */
  26. #define ESPC_SCALE     3
  27. #define UART_ESI_BASE    0x00
  28. #define UART_ESI_SID    0x01
  29. #define UART_ESI_RX    0x02
  30. #define UART_ESI_TX    0x02
  31. #define UART_ESI_CMD1    0x04
  32. #define UART_ESI_CMD2    0x05
  33. #define UART_ESI_STAT1    0x04
  34. #define UART_ESI_STAT2    0x05
  35. #define UART_ESI_RWS    0x07
  36.  
  37. #define UART_IER_DMA_TMOUT    0x80
  38. #define UART_IER_DMA_TC        0x08
  39.  
  40. #define ESI_SET_IRQ        0x04
  41. #define ESI_SET_DMA_TMOUT    0x05
  42. #define ESI_SET_SRV_MASK    0x06
  43. #define ESI_SET_ERR_MASK    0x07
  44. #define ESI_SET_FLOW_CNTL    0x08
  45. #define ESI_SET_FLOW_CHARS    0x09
  46. #define ESI_SET_FLOW_LVL    0x0a
  47. #define ESI_SET_TRIGGER        0x0b
  48. #define ESI_SET_RX_TIMEOUT    0x0c
  49. #define ESI_SET_FLOW_TMOUT    0x0d
  50. #define ESI_WRITE_UART        0x0e
  51. #define ESI_READ_UART        0x0f
  52. #define ESI_SET_MODE        0x10
  53. #define ESI_GET_ERR_STAT    0x12
  54. #define ESI_GET_UART_STAT    0x13
  55. #define ESI_GET_RX_AVAIL    0x14
  56. #define ESI_GET_TX_AVAIL    0x15
  57. #define ESI_START_DMA_RX    0x16
  58. #define ESI_START_DMA_TX    0x17
  59. #define ESI_ISSUE_BREAK        0x1a
  60. #define ESI_FLUSH_RX        0x1b
  61. #define ESI_FLUSH_TX        0x1c
  62. #define ESI_SET_BAUD        0x1d
  63. #define ESI_SET_ENH_IRQ        0x1f
  64. #define ESI_SET_REINTR        0x20
  65. #define ESI_SET_PRESCALAR    0x23
  66. #define ESI_NO_COMMAND        0xff
  67.  
  68. #define ESP_STAT_RX_TIMEOUT    0x01
  69. #define ESP_STAT_DMA_RX        0x02
  70. #define ESP_STAT_DMA_TX        0x04
  71. #define ESP_STAT_NEVER_DMA      0x08
  72. #define ESP_STAT_USE_PIO        0x10
  73.  
  74. #define ESP_EVENT_WRITE_WAKEUP    0
  75. #define ESP_MAGIC        0x53ee
  76. #define ESP_XMIT_SIZE        4096
  77.  
  78. struct esp_struct {
  79.     int            magic;
  80.     int            port;
  81.     int            irq;
  82.     int            flags;         /* defined in tty.h */
  83.     struct tty_struct     *tty;
  84.     int            read_status_mask;
  85.     int            ignore_status_mask;
  86.     int            timeout;
  87.     int            stat_flags;
  88.     int            custom_divisor;
  89.     int            close_delay;
  90.     unsigned short        closing_wait;
  91.     unsigned short        closing_wait2;
  92.     int            IER;     /* Interrupt Enable Register */
  93.     int            MCR;     /* Modem control register */
  94.     unsigned long        event;
  95.     unsigned long        last_active;
  96.     int            line;
  97.     int            count;        /* # of fd on device */
  98.     int            blocked_open; /* # of blocked opens */
  99.     unsigned char         *xmit_buf;
  100.     int            xmit_head;
  101.     int            xmit_tail;
  102.     int            xmit_cnt;
  103.     struct work_struct    tqueue;
  104.     struct work_struct    tqueue_hangup;
  105.     wait_queue_head_t    open_wait;
  106.     wait_queue_head_t    close_wait;
  107.     wait_queue_head_t    delta_msr_wait;
  108.     wait_queue_head_t    break_wait;
  109.     struct async_icount    icount;    /* kernel counters for the 4 input interrupts */
  110.     struct hayes_esp_config config; /* port configuration */
  111.     struct esp_struct    *next_port; /* For the linked list */
  112. };
  113.  
  114. struct esp_pio_buffer {
  115.     unsigned char data[1024];
  116.     struct esp_pio_buffer *next;
  117. };
  118.  
  119. #endif /* __KERNEL__ */
  120.  
  121.  
  122. #endif /* ESP_H */
  123.  
  124.